package co.gov.medellin.ssti.sub.model.dao;

import java.util.Collection;

import co.gov.medellin.ssti.sub.model.dao.exception.DAOException;
import co.gov.medellin.ssti.sub.model.vo.AreaVO;
import co.gov.medellin.ssti.sub.model.vo.ReporteTotalProgramasVO;

/**
 * 
 * @author Consultsoft4
 * 
 */
public interface IReporteTotalProgramasDAO extends BaseDAO {
	/**
	 * Metodo que se encarga de recuperar el Reporte Total Programas y
	 * Beneficios.
	 * 
	 * @param criteria
	 * @return Collection de ReporteTotalProgramasVO o vacia si no hay registros
	 * @throws DAOException
	 */
	Collection<ReporteTotalProgramasVO> findReporteTotalProgramas(
			ReporteTotalProgramasVO criteria) throws DAOException;

	/**
	 * Metodo que retorna las secretarias (los registros que tengan codigo_area
	 * null en TCS_BEN_AREA)
	 * 
	 * @return
	 * @throws DAOException
	 */
	Collection<AreaVO> findSecretarias() throws DAOException;

	/**
	 * Metodo para provisional para recuperar los filtros utilizados en el
	 * reporte.
	 * 
	 * @param reporteTotalProgramasVO
	 * @return
	 * @throws DAOException
	 */
	ReporteTotalProgramasVO findFilters(
			ReporteTotalProgramasVO reporteTotalProgramasVO)
			throws DAOException;

}
